/**
 * SPDX-FileCopyrightText: 2022 Zeal 8-bit Computer <contact@zeal8bit.com>
 *
 * SPDX-License-Identifier: Apache-2.0
 */
 :root, :root.dark {
    --first-bg-color: #002b36;
    --second-bg-color: #093642;
    --third-bg-color: #0a4d5f;
    --fourth-bg-color: #042d38;
    --first-txt-color: #93a1a1;
    --second-txt-color: #c7c7c7;
}

:root.light {
    --first-bg-color: #fdf6e3;
    --second-bg-color: #eee8d5;
    --third-bg-color: #c8c6bc;
    --fourth-bg-color:#fff7dd;
    --first-txt-color: #657b83;
    --second-txt-color:#586e75;
}


 body {
    padding: 0;
    margin: 0;
    font-family: Calibri;
    background-color: var(--first-bg-color);
    color: var(--first-txt-color);
}

a {
    color: var(--first-txt-color);
}

button, input[type=button] {
    border: var(--second-txt-color) solid 1px;
    border-radius: 5px;
    background: var(--second-bg-color);
    color: var(--second-txt-color);
    padding: 0.25em;
    min-width: 10em;
    height: 2em;
    display: inline-block;
    cursor: pointer;
}

button:hover, input[type=button]:hover {
    background: var(--fourth-bg-color);
}


button:active, input[type=button]:active {
    background:#9b9b9b;
    color: var(--second-bg-color);
}


input[type=text] {
    border: var(--first-txt-color) solid 1px;
    border-radius: 5px;
    outline: none;
    height: 1.7em;
}

#toppanel {
    display: flex;
    justify-content: space-between;
}

#debug {
    background-color:var(--second-bg-color);
    box-shadow: 5px 0 10px -4px #040404;
    margin: 0;
    width:15em;
    border-bottom-right-radius: 10px;
    border-bottom-left-radius: 10px;
    margin-bottom: 1em;
}

#debug table {
    font-size:14pt;
    width: 100%;
    border: 0;
    border-collapse:collapse;
}

#debug table:after {
    content: " ";
    display: block;
    background: #939f8f;
    height: 1px;
    margin: 0em auto;
    width: 8em;
}

hr {
    content: " ";
    display: block;
    background: #939f8f;
    height: 1px;
    margin: 2em auto;
    border: none;
}

#debug table td {
    padding-left: 0.5em;
}

#debug table tr:nth-child(2n) {
    background-color: var(--fourth-bg-color);
}


#debug table tr:hover {
    background-color: var(--third-bg-color);
}

#screen {
    margin: 3em auto;
    background-color: black;
}

#rightpanel {
    background-color:var(--second-bg-color);
    color: var(--first-txt-color);
    box-shadow: -5px 0 5px -3px #040404;
    margin: 0 0 0em 2em;
    width:15em;
    box-sizing: border-box;
    border-bottom-right-radius: 10px;
    border-bottom-left-radius: 10px;
    padding-bottom: 1em;
}

#romfile {
    display: none;
    padding-left: 0.5em;
    padding-bottom: 0.5em;
    margin-top: 1em;
    position: static;
}

#romload {
    padding: 0.5em;
}

#romadvanced {
    margin-top: 0.5em;
    font-weight: bold;
}

#read-button {
    margin-top: 1em;
}

#breakpoints {
    width: 100%;
    box-sizing: border-box;
    vertical-align: top;
    display: inline-block;
}

#bps {
    width: 96%;
    list-style: none;
    padding: 0;
    margin: 0;
}

#bps li {
    margin-left: -1.2em;
    padding-left: 1.5em;
    line-height: 3em;
    font-family: monospace;
    width: 102%;
    user-select: none;
}

#bps li:hover {
    background-color: var(--third-bg-color);
    cursor: pointer;
}

#bps li::before {
    text-align: center;
    display: inline-block;
    content: "⬤";
    width: 1.5em;
    padding-right: 1em;
    color: rgb(163, 49, 34);
}

#bps li.disabled::before {
    text-align: center;
    display: inline-block;
    content: "•";
    width: 1.5em;
    color: grey;
}

.status:not(.ready)::before {
    text-align: center;
    display: inline-block;
    content: "•";
    width: 1.5em;
    color: grey;
}

.status.ready::before {
    text-align: center;
    display: inline-block;
    content: "✓";
    width: 1.5em;
    color: rgb(93, 199, 63);
}

.bottompanel {
    position: relative;
}

.hidden {
    display: none !important;
}

.tabs {
    position: relative;
    z-index: 4;
}

.tab {
    cursor: pointer;
    position: relative;
    left: 1em;
    bottom: -0.2em;
    display: inline-block;
    min-width: 10em;
    line-height: 2.5em;
    margin-right: 1em;
    text-align: center;
    border-top: 2px black solid;
    border-left: 2px black solid;
    border-right: 2px black solid;
    border-top-left-radius: 25px;
    border-top-right-radius: 25px;
    color: #6d6d6d;
    background: linear-gradient(0deg, var(--second-bg-color), var(--first-bg-color) 30%);
}

.tab.active {
    color: var(--first-txt-color);
    background: inherit;
    background-color: var(--second-bg-color) !important;
}

.panel {
    position: relative;
    z-index: 3;
    border-top: 2px black solid;
    font-family: monospace;
    font-size: 11pt;
    display: inline-block;
    width: 100%;
    height: 34vh;
    background-color:var(--second-bg-color);
    padding-top: 1em;
    padding-left: 0.5em;
    cursor: pointer;
    overflow-y:scroll;
    box-sizing: border-box;
    user-select: none;
}

#dumpfields {
    margin-bottom: 1em;
}


.dumpline::before {
    color: rgb(207 49 28);
    display: inline-block;
    width: 1.5em;
    content: " ";
    vertical-align: middle;
    padding-left: 0.25em;
    margin-top: -0.4em;
}

.dumpline.brk::before {
    content: "●";
}

.dumpline, .labelline {
    white-space: pre;
    border-radius: 10px;
}

.dumpline.activeline, .activefield {
    background-color: var(--first-txt-color);
    color: var(--fourth-bg-color);
}

.dumpline:not(.activeline):hover {
    background-color: var(--fourth-bg-color);
    color: var(--first-txt-color);
}

.memaddr {
    display: inline-block;
    color: #268bd2;
    font-weight: bold;
}

.membytes, .asciichars {
    display: inline-block;
    padding-left:1.5em;
}

.membytes div, .asciichars div {
    display: inline-block;
    padding: 0 0.37em 0 0.37em;
    line-height: 1.5em;
}

.membytes div:hover, .asciichars div:hover {
    background-color: var(--first-txt-color);
    color: var(--fourth-bg-color);
}

.membytes div.selected {
    background-color: var(--third-bg-color);
}


h3 {
    margin-left: 0.5em;
    margin-top: 0.75em;
}

.hide .memline {
    display: none !important;
}

.regaddr {
    text-decoration: underline;
    cursor: pointer;
}

#current_memaddr {
    margin-left: 9.3em;
    padding: 0 0.37em 0 0.37em;
}

.asciichar {
    padding: 0em !important;
}

#controls {
    width: 100%;
    text-align: center;
}

#controls img {
    padding-top: 0.5em;
    padding-bottom: 0.5em;
    cursor: pointer;
    width: 2em;
}

.menutitle {
    font-variant: small-caps;
    font-weight: bolder;
    cursor: pointer;
    margin-top: 0.5em;
    margin-bottom: 0.5em;
}

.menu {
    width: 100%;
    box-sizing: border-box;
}

.menu::after {
    content:'';
    width: 100%;
    display: block;
    border-bottom: var(--first-txt-color) solid 1px;
}

.menuicon {
    display: inline-block;
    width: 1em;
    text-align: middle;
    vertical-align: middle;
    padding: 0 0.25em 0.2em 0.25em;
}

.menucontent {
    padding: 0.5em 0 0.5em 1em;
    box-sizing: border-box;
    width: 100%;
}

#addbp {
    display: none;
}

#bpaddr {
    width: 90%;
    border: var(--first-txt-color) solid 1px;
    border-radius: 5px;
}

button {
    border: 1px solid black;
}

#bpaddr:focus {
    outline: none;
    border: rgb(217 68 49) solid 1px;
}

.help {
    cursor: pointer;
    display: inline-block;
    color:#fff;
    background-color:#699de1;
    width: 1.2em;
    vertical-align: middle;
    border-radius:100%;
    font-size:7pt;
    text-align:center;
    box-shadow: inset -1px -1px 1px 0px rgba(0,0,0,0.25);
}

#popup-message {
    position: fixed;
    display: none;
    left: calc(50% - 17.5em);
    top: 0.5em;
    line-height: 2em;
    border-radius: 10px;
    text-align: center;
    width: 35em;
    margin-left: auto;
    margin-right: auto;
    color:#6d0000;
    z-index: 20;
}

.poperror {
    background:#ffecec;
    border: 1px solid #fc695d;
}

#loading_img {
    visibility: hidden;
    vertical-align: middle;
    width: 1.5em;
}


footer {
    color: var(--second-txt-color);
    background: var(--second-bg-color);
    position: sticky;
    display: block;
    bottom: 0;
    width: 100%;
    text-align: right;
    z-index: 3;
    box-sizing: border-box;
    font-size: 14pt;
}

footer a {
    color: var(--second-txt-color);
}

footer ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

footer li {
    display: inline-block;
    padding-left: 0.5em;
    padding-right: 0.5em;
    line-height: 1.5em;
    animation-duration: 1s;
}

footer li a:hover {
    color: var(--first-txt-color);
}